home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs20.d81 / flofig.arc / FIGURE DRAW (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  2KB  |  89 lines

  1. 1 REM FIGURE DRAW FOR CAD
  2. 2 PRINT"[147][158]":POKE53280,00:POKE53281,00
  3. 3 CLR:DIMA%(255,3):EN=255
  4. 4 X$="[216]:"
  5. 5 Y$="[217]:"
  6. 6 PRINTCHR$(14)"[147][210]EFERENCE (L,R,T,B)":R=1
  7. 7 GETA$:IFA$=""THEN7
  8. 8 IFA$="R"THENR=2
  9. 9 IFA$="T"THENR=3
  10. 10 IFA$="B"THENR=4
  11. 11 ONRGOSUB35,36,37,38
  12. 12 FORS=1024TO2023:POKES,32:NEXT
  13. 13 PRINT"";:PRINTTAB(18);"[216]:"
  14. 14 PRINT"";:PRINTTAB(28);"[217]:"
  15. 15 POKESP,91:POKECP,08
  16. 16 PRINTX$;X;"[157]   ";Y$;Y;"[157]   "
  17. 17 GETA$:IFA$<>""THEN23
  18. 18 POKESP+X+40*Y,PEEK(SP+X+40*Y)AND127
  19. 19 JV=PEEK(56320):FR=JVAND16:IFFR=0THENGOSUB28
  20. 20 JV=15-(JVAND15):IFJV=15THEN17
  21. 21 ONRGOSUB39,44,49,54
  22. 22 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:POKECP+X+40*Y,08:GOTO16
  23. 23 IFA$=CHR$(20)THENGOSUB30
  24. 24 IFA$=CHR$(136)THENGOSUB59
  25. 25 IFA$=CHR$(140)THENGOSUB76:RUN
  26. 26 IFA$=CHR$(147)THEN3
  27. 27 POKESP+X+40*Y,PEEK(SP+X+40*Y)OR128:GOTO17
  28. 28 P=P+1:A%(P,1)=X:A%(P,2)=Y:A%(P,3)=1:POKESP+X+40*Y,128+102:POKECP+X+40*Y,08
  29. 29 RETURN
  30. 30 CL=0
  31. 31 CL=CL+1:IFCL=256THENRETURN
  32. 32 IFA%(CL,1)<>XTHEN31
  33. 33 IFA%(CL,2)<>YTHEN31
  34. 34 POKESP+A%(CL,1)+A%(CL,2)*40,32:A%(CL,3)=0:RETURN
  35. 35 SP=1504:CP=55776:RETURN
  36. 36 SP=1543:CP=55815:RETURN
  37. 37 SP=1083:CP=55355:RETURN
  38. 38 SP=2003:CP=56275:RETURN
  39. 39 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
  40. 40 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
  41. 41 IF(JVAND4)THENX=X-1:IFX<0THENX=0
  42. 42 IF(JVAND8)THENX=X+1:IFX>39THENX=39
  43. 43 RETURN
  44. 44 IF(JVAND1)THENY=Y-1:IFY<-11THENY=-11
  45. 45 IF(JVAND2)THENY=Y+1:IFY>12THENY=12
  46. 46 IF(JVAND4)THENX=X-1:IFX<-40THENX=-40
  47. 47 IF(JVAND8)THENX=X+1:IFX>0THENX=0
  48. 48 RETURN
  49. 49 IF(JVAND1)THENY=Y-1:IFY<0THENY=0
  50. 50 IF(JVAND2)THENY=Y+1:IFY>23THENY=23
  51. 51 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
  52. 52 IF(JVAND8)THENX=X+1:IFX>20THENX=20
  53. 53 RETURN
  54. 54 IF(JVAND1)THENY=Y-1:IFY<-23THENY=-23
  55. 55 IF(JVAND2)THENY=Y+1:IFY>0THENY=0
  56. 56 IF(JVAND4)THENX=X-1:IFX<-19THENX=-19
  57. 57 IF(JVAND8)THENX=X+1:IFX>20THENX=20
  58. 58 RETURN
  59. 59 PRINT"[147][204][207][193][196] FILENAME:";
  60. 60 GETF$:IFF$=""THEN60
  61. 61 IFF$=CHR$(13)THENRETURN
  62. 62 OPEN2,8,2,F$+".FIG,P,R":P1=0
  63. 63 FORT=1TO2
  64. 64 GET#2,A$(T)
  65. 65 NEXT
  66. 66 P1=P1+1:FORT=1TO2
  67. 67 GET#2,A$:IFA$=CHR$(255)THEN72
  68. 68 REM IFA$=""THEN67
  69. 69 A=ASC(A$+CHR$(0))
  70. 70 IFA>127THENA=-(AAND127)
  71. 71 A%(P1,T)=A:NEXT:A%(P1,3)=1:GOTO66
  72. 72 CLOSE2
  73. 73 PRINT"[147]":FORT=1TOP1-1:IFA%(T,3)=0THENNEXT:GOTO75
  74. 74 X1=A%(T,1):Y1=A%(T,2):POKESP+X1+40*Y1,128+102:POKECP+X1+40*Y1,08:NEXT
  75. 75 P=P1-1:RETURN
  76. 76 PRINT"[147][211][193][214][197] FILENAME:";
  77. 77 GETF$:IFF$=""THEN77
  78. 78 IFF$=CHR$(13)THEN88
  79. 79 OPEN2,8,2,"@0:"+F$+".FIG,P,W":P1=0
  80. 80 PRINT#2,CHR$(0);CHR$(158);
  81. 81 P1=P1+1:IFP1=P+1THEN87
  82. 82 IFA%(P1,3)=0THEN81
  83. 83 FORT=1TO2
  84. 84 IFA%(P1,T)<0THENA%(P1,T)=(ABS(A%(P1,T))OR128)
  85. 85 NEXT
  86. 86 PRINT#2,CHR$(A%(P1,1));:PRINT#2,CHR$(A%(P1,2));:GOTO81
  87. 87 PRINT#2,CHR$(255);CHR$(255);:CLOSE2:PRINT"[147]"
  88. 88 RETURN
  89.